-
Notifications
You must be signed in to change notification settings - Fork 70
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Загрузка базы-эталона из DT или 1CD #124
Загрузка базы-эталона из DT или 1CD #124
Conversation
Warning Rate limit exceeded@nixel2007 has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 12 minutes and 38 seconds before requesting another review. How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. WalkthroughВнесены изменения для улучшения процесса инициализации базы данных в Jenkins. Новые параметры конфигурации позволяют загружать справочную базу данных и управлять пользовательскими настройками через соответствующие файлы. Интеграция нового класса Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant Jenkins
participant CreateInfobase
participant VRunner
User->>Jenkins: Запуск процесса
Jenkins->>CreateInfobase: Инициализация Infobase
CreateInfobase->>CreateInfobase: Проверка templateDBPath
alt Путь пустой
CreateInfobase-->>CreateInfobase: Создание пустой базы
else Путь к файлу
CreateInfobase-->>CreateInfobase: Копирование файла
CreateInfobase->>VRunner: Запуск создания базы
end
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 3
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files ignored due to path filters (2)
resources/globalConfiguration.json
is excluded by!**/*.json
resources/schema.json
is excluded by!**/*.json
Files selected for processing (9)
- README.md (1 hunks)
- build.gradle.kts (1 hunks)
- src/ru/pulsar/jenkins/library/configuration/InitInfoBaseOptions.groovy (2 hunks)
- src/ru/pulsar/jenkins/library/steps/CreateInfobase.groovy (1 hunks)
- src/ru/pulsar/jenkins/library/steps/GetExtensions.groovy (3 hunks)
- src/ru/pulsar/jenkins/library/steps/InitFromFiles.groovy (2 hunks)
- src/ru/pulsar/jenkins/library/steps/InitFromStorage.groovy (3 hunks)
- src/ru/pulsar/jenkins/library/steps/InitInfoBase.groovy (1 hunks)
- src/ru/pulsar/jenkins/library/utils/FileUtils.groovy (1 hunks)
Additional comments not posted (18)
src/ru/pulsar/jenkins/library/steps/InitFromFiles.groovy (4)
9-9
: ИмпортCreateInfobase
выглядит корректным.Добавление импорта необходимо для новой функциональности.
45-46
: Создание и выполнениеCreateInfobase
выглядит корректным.Убедитесь, что
CreateInfobase
имеет достаточное покрытие тестами.
50-51
: Обновление командыVRunner
наupdate-dev
выглядит корректным.Убедитесь, что это изменение соответствует общим требованиям системы.
52-57
: Логика обработки дополнительных настроекVRunner
выглядит корректной.Убедитесь, что файл настроек существует и является допустимым.
src/ru/pulsar/jenkins/library/utils/FileUtils.groovy (3)
45-58
: МетодloadFile
реализован корректно.Убедитесь, что обработка ошибок в методе является надежной.
60-67
: МетодisValidUrl
реализован корректно.Рассмотрите возможность добавления логирования для недопустимых URL для целей отладки.
69-75
: МетодgetAbsolutePath
реализован корректно.Убедитесь, что переменная окружения
WORKSPACE
всегда установлена.src/ru/pulsar/jenkins/library/steps/InitFromStorage.groovy (4)
13-13
: ИмпортCreateInfobase
выглядит корректным.Добавление импорта необходимо для новой функциональности.
47-48
: Создание и выполнениеCreateInfobase
выглядит корректным.Убедитесь, что
CreateInfobase
имеет достаточное покрытие тестами.
63-64
: Обновление командыVRunner
наupdate-dev
выглядит корректным.Убедитесь, что это изменение соответствует общим требованиям системы.
65-70
: Логика обработки дополнительных настроекVRunner
выглядит корректной.Убедитесь, что файл настроек существует и является допустимым.
src/ru/pulsar/jenkins/library/steps/CreateInfobase.groovy (1)
15-17
: Конструктор классаCreateInfobase
.Конструктор корректно инициализирует поле
config
.src/ru/pulsar/jenkins/library/steps/InitInfoBase.groovy (1)
46-51
: Проверьте существование файлаvrunnerSettings
.Логика проверки существования файла
vrunnerSettings
корректна, но убедитесь, что файл действительно необходим для всех сценариев использования.src/ru/pulsar/jenkins/library/configuration/InitInfoBaseOptions.groovy (2)
28-38
: Проверьте описание новых свойств.Описание свойств
vrunnerSettings
иbaseDBPath
четкое и информативное. Убедитесь, что они соответствуют фактическому использованию в коде.
77-78
: Обновление методаtoString
.Метод
toString
корректно обновлен для включения новых свойств.src/ru/pulsar/jenkins/library/steps/GetExtensions.groovy (1)
57-58
: Упрощение загрузки расширений.Изменения упрощают процесс загрузки расширений, используя
FileUtils.loadFile
. Это улучшает читаемость и поддерживаемость кода.Однако, убедитесь, что удаление методов
isValidUrl
иgetAbsolutePath
не повлияло на другие части кода.Запустите следующий скрипт, чтобы проверить использование удаленных методов:
build.gradle.kts (1)
14-14
: Добавление репозитория Jenkins.Добавление URL репозитория Jenkins улучшает возможности интеграции проекта с Jenkins.
README.md (1)
211-229
: Документация по загрузке эталонной базы.Изменения в документации предоставляют четкие инструкции по настройке загрузки эталонной базы, что улучшает гибкость и удобство процесса настройки.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (1)
- vars/pipeline1C.groovy (1 hunks)
Additional comments not posted (1)
vars/pipeline1C.groovy (1)
116-116
: Проверьте обработку нового параметра в функцииloadExtensions
.Добавление параметра
'initInfoBase'
в вызов функцииloadExtensions
требует проверки, чтобы убедиться, что этот параметр правильно обрабатывается внутри функции. Убедитесь, что функция поддерживает новый параметр и что его добавление соответствует ожидаемому функционалу.
@ovcharenko-di смотри, у меня теперь тоже есть собственный пр с загрузкой из ДТ) |
README.md
Outdated
|
||
Реализована возможность загрузки эталонной базы на этапе инициализации информационной базы. Для этого необходимо указать в конфигурационном файле параметр `initInfobase` -> `baseDBPath`: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
так как это дефолт, то вполне можно добавить и в основной раздел.
…симостей, вынес создание базы из последующих степов.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
Outside diff range, codebase verification and nitpick comments (2)
src/ru/pulsar/jenkins/library/steps/LoadExtensions.groovy (2)
Line range hint
25-38
: Добавьте логирование и обработку ошибок.Метод
run
не содержит достаточного логирования и обработки ошибок, что может затруднить отладку и выявление проблем.Примените этот дифф для добавления логирования и обработки ошибок:
def run() { IStepExecutor steps = ContextRegistry.getContext().getStepExecutor() Logger.printLocation() def extensions = this.config.initInfoBaseOptions.extensions if (this.stageName) { this.extensionsFiltered = extensions.findAll { extension -> extension.stages.contains(this.stageName) } } else { this.extensionsFiltered = extensions.findAll { extension -> extension.stages.length == 0 || extension.stages.contains("initInfoBase") } } def env = steps.env() String cfeDir = "$env.WORKSPACE/$GetExtensions.EXTENSIONS_OUT_DIR" String vrunnerPath = VRunner.getVRunnerPath() this.extensionsFiltered.each { Logger.println("Установим расширение ${it.name}") try { loadExtension(it, vrunnerPath, steps, cfeDir) Logger.println("Расширение ${it.name} установлено успешно.") } catch (Exception e) { Logger.println("Ошибка при установке расширения ${it.name}: ${e.message}") throw e } } }
Line range hint
40-64
: Добавьте логирование и обработку ошибок.Метод
loadExtension
не содержит достаточного логирования и обработки ошибок, что может затруднить отладку и выявление проблем.Примените этот дифф для добавления логирования и обработки ошибок:
private void loadExtension (Extension extension, String vrunnerPath, IStepExecutor steps, String cfeDir) { String pathToExt = "$cfeDir/${extension.name}.cfe" FilePath localPathToExt = FileUtils.getFilePath(pathToExt) // Команда загрузки расширения String loadCommand = vrunnerPath + ' run --command "Путь=' + localPathToExt + ';ЗавершитьРаботуСистемы;" --execute ' String executeParameter = '$runnerRoot/epf/ЗагрузитьРасширениеВРежимеПредприятия.epf' if (steps.isUnix()) { executeParameter = '\\' + executeParameter } loadCommand += executeParameter loadCommand += ' --ibconnection "/F./build/ib"' String vrunnerSettings = getVrunnerSettingsForStage(this.config, this.stageName) if (vrunnerSettings && steps.fileExists(vrunnerSettings)) { loadCommand += " --settings $vrunnerSettings" } List<String> logosConfig = ["LOGOS_CONFIG=$config.logosConfig"] steps.withEnv(logosConfig) { try { VRunner.exec(loadCommand) Logger.println("Команда загрузки расширения выполнена успешно: $loadCommand") } catch (Exception e) { Logger.println("Ошибка при выполнении команды загрузки расширения: ${e.message}") throw e } } }
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (5)
- src/ru/pulsar/jenkins/library/steps/InitFromFiles.groovy (3 hunks)
- src/ru/pulsar/jenkins/library/steps/InitFromStorage.groovy (3 hunks)
- src/ru/pulsar/jenkins/library/steps/LoadExtensions.groovy (1 hunks)
- vars/createInfobase.groovy (1 hunks)
- vars/pipeline1C.groovy (2 hunks)
Files skipped from review as they are similar to previous changes (3)
- src/ru/pulsar/jenkins/library/steps/InitFromFiles.groovy
- src/ru/pulsar/jenkins/library/steps/InitFromStorage.groovy
- vars/pipeline1C.groovy
Additional comments not posted (4)
vars/createInfobase.groovy (1)
6-6
: Проверьте регистрацию контекста.Убедитесь, что регистрация контекста по умолчанию (
ContextRegistry.registerDefaultContext(this)
) необходима и корректна.Запустите следующий скрипт для проверки использования регистрации контекста:
Verification successful
Регистрация контекста по умолчанию является необходимой и корректной.
Регистрация контекста с помощью
ContextRegistry.registerDefaultContext(this)
используется во многих скриптах в директорииvars
, что указывает на её важность и необходимость для корректной работы последующих операций в каждом скрипте.
Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Описание: Проверить использование регистрации контекста. # Тест: Поиск использования функции registerDefaultContext. Ожидается: Корректное использование. rg --type groovy -A 5 $'ContextRegistry.registerDefaultContext'Length of output: 5654
src/ru/pulsar/jenkins/library/steps/LoadExtensions.groovy (3)
Line range hint
18-20
: МетодgetExtensionsFiltered
одобрен.Метод логически корректен и не требует изменений.
Line range hint
12-16
: КонструкторLoadExtensions
одобрен.Конструктор логически корректен и не требует изменений.
86-86
: Проверьте влияние изменения конструкцииoptionsName
.Изменение конструкции переменной
optionsName
может повлиять на доступ к параметрам в конфигурации.Запустите следующий скрипт для проверки использования переменной
optionsName
:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (1)
- src/ru/pulsar/jenkins/library/steps/CreateInfobase.groovy (1 hunks)
Files skipped from review as they are similar to previous changes (1)
- src/ru/pulsar/jenkins/library/steps/CreateInfobase.groovy
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files ignored due to path filters (2)
resources/globalConfiguration.json
is excluded by!**/*.json
resources/schema.json
is excluded by!**/*.json
Files selected for processing (2)
- src/ru/pulsar/jenkins/library/configuration/TimeoutOptions.groovy (1 hunks)
- vars/pipeline1C.groovy (2 hunks)
Files skipped from review as they are similar to previous changes (1)
- vars/pipeline1C.groovy
Additional comments not posted (1)
src/ru/pulsar/jenkins/library/configuration/TimeoutOptions.groovy (1)
24-27
: Изменение принято.Добавление нового свойства
loadSources
соответствует существующим свойствам в классе. Описание четкое и предоставляет необходимые детали. Значение по умолчанию установлено на 60 минут, что соответствует другим аналогичным свойствам.
src/ru/pulsar/jenkins/library/configuration/TimeoutOptions.groovy
Outdated
Show resolved
Hide resolved
src/ru/pulsar/jenkins/library/configuration/InitInfoBaseOptions.groovy
Outdated
Show resolved
Hide resolved
Co-authored-by: Nikita Fedkin <[email protected]>
d7bd03a
to
5fb93d2
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files ignored due to path filters (1)
gradle/wrapper/gradle-wrapper.jar
is excluded by!**/*.jar
,!**/*.jar
Files selected for processing (7)
- build.gradle.kts (1 hunks)
- gradle/wrapper/gradle-wrapper.properties (1 hunks)
- gradlew (2 hunks)
- gradlew.bat (4 hunks)
- jenkinsResources/core-version.txt (1 hunks)
- src/ru/pulsar/jenkins/library/utils/FileUtils.groovy (1 hunks)
- test/integration/groovy/printLocationTest.groovy (1 hunks)
Files skipped from review due to trivial changes (1)
- jenkinsResources/core-version.txt
Files skipped from review as they are similar to previous changes (4)
- build.gradle.kts
- gradle/wrapper/gradle-wrapper.properties
- gradlew.bat
- src/ru/pulsar/jenkins/library/utils/FileUtils.groovy
Additional comments not posted (5)
test/integration/groovy/printLocationTest.groovy (1)
38-38
: Изменение ожидаемого сообщения журналаСообщение журнала изменено с 'Running on node master' на 'Running on node built-in'. Это изменение отражает обновление конфигурации или поведения системы.
Изменения кода одобрены.
gradlew (4)
1-16
: Обновление заголовка скриптаЗаголовок скрипта обновлен для уточнения требований к POSIX-совместимой оболочке. Лицензионная информация осталась без изменений.
Изменения кода одобрены.
89-89
: Обновление параметров JVM по умолчаниюПараметры JVM по умолчанию теперь включают как максимальный, так и минимальный размер кучи. Это улучшает управление памятью.
Изменения кода одобрены.
85-85
: Обновление переменной APP_BASE_NAMEПеременная APP_BASE_NAME теперь устанавливается с использованием более лаконичного синтаксиса. Это улучшает читаемость и поддерживаемость скрипта.
Изменения кода одобрены.
124-126
: Обновление переменной JAVACMDПеременная JAVACMD теперь устанавливается без кавычек. Это соответствует требованиям POSIX и улучшает надежность скрипта.
Изменения кода одобрены.
4ee68ee
to
258af0e
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files ignored due to path filters (2)
resources/globalConfiguration.json
is excluded by!**/*.json
resources/schema.json
is excluded by!**/*.json
Files selected for processing (2)
- src/ru/pulsar/jenkins/library/configuration/TimeoutOptions.groovy (1 hunks)
- vars/pipeline1C.groovy (2 hunks)
Files skipped from review as they are similar to previous changes (2)
- src/ru/pulsar/jenkins/library/configuration/TimeoutOptions.groovy
- vars/pipeline1C.groovy
@coderabbitai full review |
Actions performedFull review triggered. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 4
Outside diff range, codebase verification and nitpick comments (2)
src/ru/pulsar/jenkins/library/steps/LoadExtensions.groovy (1)
Line range hint
51-69
: Добавьте обработку ошибок.Функция
loadExtension
корректно реализована, но для повышения надежности рекомендуется добавить обработку ошибок.Добавьте блок
try-catch
для обработки возможных ошибок при выполнении команды загрузки расширения.README.md (1)
211-229
: Добавьте краткое введение и уточните использованиеvrunnerSettings
.Сегмент хорошо документирован и предоставляет четкие инструкции. Однако, для улучшения документации:
- Добавьте краткое введение, объясняющее цель эталонной базы данных.
- Уточните использование
vrunnerSettings
в контексте учетных записей пользователей.Пример:
## Загрузка эталонной базы Эта функция позволяет загружать эталонную базу данных на этапе инициализации информационной базы. Это может быть полезно для предварительной настройки базы данных с определенными данными. Для этого необходимо указать в конфигурационном файле параметр `initInfobase` -> `templateDBPath`: ```json "initInfobase": { "templateDBPath": "путь/до/файла/базы.dt" }
- Поддерживается загрузка файлов формата
.dt
и.1CD
.- Путь к файлу базы может быть как локальным, так и удаленным (URL).
- Если эталонная база содержит пользователей, необходимо указать файл конфигурации, который будет использован для дальнейшей инициализации базы данных. Для этого необходимо указать параметр
initInfobase
->vrunnerSettings
:"initInfobase": { "templateDBPath": "путь/до/файла/базы.dt", "vrunnerSettings": "tools/vrunner.json" }</blockquote></details> </blockquote></details> <details> <summary>Review details</summary> **Configuration used: CodeRabbit UI** **Review profile: CHILL** <details> <summary>Commits</summary> Files that changed from the base of the PR and between a5613f424b327539e60859c4e5afbf141eb92dbd and 9c0ba58d5a706fb31d4cc49cbee2fefaf6d54c3a. </details> <details> <summary>Files ignored due to path filters (3)</summary> * `gradle/wrapper/gradle-wrapper.jar` is excluded by `!**/*.jar`, `!**/*.jar` * `resources/globalConfiguration.json` is excluded by `!**/*.json` * `resources/schema.json` is excluded by `!**/*.json` </details> <details> <summary>Files selected for processing (19)</summary> * .github/workflows/gradle.yml (1 hunks) * README.md (1 hunks) * build.gradle.kts (1 hunks) * gradle/wrapper/gradle-wrapper.properties (1 hunks) * gradlew (2 hunks) * gradlew.bat (4 hunks) * jenkinsResources/core-version.txt (1 hunks) * src/ru/pulsar/jenkins/library/configuration/InitInfoBaseOptions.groovy (2 hunks) * src/ru/pulsar/jenkins/library/configuration/TimeoutOptions.groovy (1 hunks) * src/ru/pulsar/jenkins/library/steps/CreateInfobase.groovy (1 hunks) * src/ru/pulsar/jenkins/library/steps/GetExtensions.groovy (3 hunks) * src/ru/pulsar/jenkins/library/steps/InitFromFiles.groovy (2 hunks) * src/ru/pulsar/jenkins/library/steps/InitFromStorage.groovy (2 hunks) * src/ru/pulsar/jenkins/library/steps/InitInfoBase.groovy (1 hunks) * src/ru/pulsar/jenkins/library/steps/LoadExtensions.groovy (1 hunks) * src/ru/pulsar/jenkins/library/utils/FileUtils.groovy (1 hunks) * test/integration/groovy/printLocationTest.groovy (1 hunks) * vars/createInfobase.groovy (1 hunks) * vars/pipeline1C.groovy (2 hunks) </details> <details> <summary>Additional comments not posted (40)</summary><blockquote> <details> <summary>jenkinsResources/core-version.txt (1)</summary><blockquote> `1-1`: **Обновление версии.** Версия обновлена с `2.246` до `2.462.1`. Изменение выглядит корректным. Изменение кода одобрено. </blockquote></details> <details> <summary>gradle/wrapper/gradle-wrapper.properties (1)</summary><blockquote> `3-4`: **Обновление версии Gradle и добавление таймаута.** Версия Gradle обновлена с `6.3` до `7.6.1`, добавлено свойство `networkTimeout` со значением `10000`. Изменения выглядят корректными. Изменение кода одобрено. </blockquote></details> <details> <summary>vars/createInfobase.groovy (1)</summary><blockquote> `5-10`: **Добавьте обработку ошибок и логирование.** Функция `call` не содержит обработку ошибок и логирование, что может затруднить отладку и выявление проблем. Примените этот дифф для добавления обработки ошибок и логирования: ```diff def call(JobConfiguration config) { ContextRegistry.registerDefaultContext(this) try { def createInfobase = new CreateInfobase(config) createInfobase.run() println("Infobase created successfully.") } catch (Exception e) { println("Error creating infobase: ${e.message}") throw e } }
Likely invalid or redundant comment.
.github/workflows/gradle.yml (2)
18-18
: Обновление версии JDK до 17Обновление JDK до версии 17 может привести к улучшению производительности и новым возможностям. Убедитесь, что все зависимости и библиотеки совместимы с новой версией.
21-21
: Указание версии JDK 17Указание версии JDK 17 соответствует обновлению. Изменение одобрено.
test/integration/groovy/printLocationTest.groovy (1)
38-38
: Обновление ожидаемого сообщения журналаОжидаемое сообщение журнала обновлено с 'Running on node master' на 'Running on node built-in'. Изменение одобрено.
src/ru/pulsar/jenkins/library/steps/InitFromFiles.groovy (8)
45-45
: Обновление команды для среды разработкиКоманда обновлена с
init-dev
наupdate-dev
, что указывает на переход от настройки новой среды к обновлению существующей. Изменение одобрено.
46-46
: Добавление пустой строкиДобавление пустой строки улучшает читаемость кода. Изменение одобрено.
47-47
: Определение опций для инициализации базы данныхОпции для инициализации базы данных определены. Изменение одобрено.
48-48
: Добавление пустой строкиДобавление пустой строки улучшает читаемость кода. Изменение одобрено.
49-49
: Определение переменнойvrunnerSettings
Переменная
vrunnerSettings
определена. Изменение одобрено.
50-51
: Добавление условной проверки дляvrunnerSettings
Добавлена условная проверка для добавления настроек к команде, если
vrunnerSettings
определен и соответствующий файл существует. Изменение одобрено.
52-52
: Добавление пустой строкиДобавление пустой строки улучшает читаемость кода. Изменение одобрено.
54-54
: Выполнение командыКоманда выполняется с обновленной логикой и настройками. Изменение одобрено.
src/ru/pulsar/jenkins/library/utils/FileUtils.groovy (2)
60-67
: Код выглядит хорошо!Метод корректно проверяет, является ли строка допустимым URL.
69-75
: Код выглядит хорошо!Метод корректно разрешает абсолютный путь на основе окружения.
src/ru/pulsar/jenkins/library/configuration/TimeoutOptions.groovy (1)
24-27
: Выглядит хорошо!Свойство
loadConfiguration
правильно аннотировано и соответствует шаблону других свойств в классе.Изменения в коде одобрены.
gradlew.bat (5)
1-15
: Выглядит хорошо!Добавленные комментарии лицензии обеспечивают ясность в отношении правового использования файла.
Изменения в коде одобрены.
37-37
: Выглядит хорошо!Изменение переменной
DEFAULT_JVM_OPTS
для указания максимального и минимального размера кучи JVM оптимизирует управление памятью.Изменения в коде одобрены.
44-44
: Выглядит хорошо!Удаление метки
:init
упрощает путь выполнения и уменьшает ненужное ветвление.Изменения в коде одобрены.
75-75
: Выглядит хорошо!Использование
%*
для захвата всех переданных аргументов упрощает обработку аргументов командной строки.Изменения в коде одобрены.
84-87
: Выглядит хорошо!Добавление переменной
EXIT_CODE
гарантирует, что скрипт завершится с правильным кодом ошибки.Изменения в коде одобрены.
src/ru/pulsar/jenkins/library/steps/InitInfoBase.groovy (6)
46-47
: Выглядит хорошо!Переменная
options
правильно инициализируется и используется для извлечения свойстваvrunnerSettings
.Изменения в коде одобрены.
48-48
: Выглядит хорошо!Свойство
vrunnerSettings
правильно извлекается из переменнойoptions
.Изменения в коде одобрены.
49-51
: Выглядит хорошо!Условная проверка правильно реализована для обеспечения корректности
vrunnerSettings
.Изменения в коде одобрены.
50-50
: Выглядит хорошо!Модификация строки
command
для включения флага--settings
и значенияvrunnerSettings
правильно реализована.Изменения в коде одобрены.
52-52
: Выглядит хорошо!Обработка ошибок с помощью блока
steps.catchError
правильно реализована для обеспечения надежности шага миграции.Изменения в коде одобрены.
52-52
: Выглядит хорошо!Обработка ошибок с помощью блока
steps.catchError
правильно реализована для обеспечения надежности шагов инициализации.Изменения в коде одобрены.
src/ru/pulsar/jenkins/library/steps/LoadExtensions.groovy (2)
86-86
: Проверьте влияние изменения на доступ к параметрам.Изменение в конструировании переменной
optionsName
может повлиять на доступ к параметрам из объектаconfig
, особенно если ключи чувствительны к регистру.Проверьте, что все обращения к параметрам с использованием
optionsName
работают корректно.
Line range hint
84-92
: Всё выглядит хорошо!Функция корректно реализована и не требует изменений.
Изменения в коде одобрены.
src/ru/pulsar/jenkins/library/configuration/InitInfoBaseOptions.groovy (2)
28-31
: Всё выглядит хорошо!Свойство
vrunnerSettings
корректно добавлено и описано.Изменения в коде одобрены.
Проверьте, что свойство
vrunnerSettings
используется корректно в кодовой базе.
33-38
: Всё выглядит хорошо!Свойство
templateDBPath
корректно добавлено и описано.Изменения в коде одобрены.
Проверьте, что свойство
templateDBPath
используется корректно в кодовой базе.src/ru/pulsar/jenkins/library/steps/GetExtensions.groovy (1)
57-58
: Проверьте влияние упрощения процесса загрузки расширений.Удаление методов
loadExtension
,isValidUrl
иgetAbsolutePath
упрощает код, но может снизить гибкость. Убедитесь, что новая реализация обрабатывает все необходимые сценарии.Проверьте, что новая реализация корректно обрабатывает все типы путей к расширениям.
build.gradle.kts (1)
57-58
: Отличное дополнение для интеграционного тестирования!Добавление библиотеки
jenkins-test-harness
улучшает возможности интеграционного тестирования.Изменения в коде одобрены.
gradlew (4)
1-39
: Четкое и информативное описание скрипта!Заголовок скрипта теперь ясно указывает на необходимость POSIX-совместимой оболочки и объясняет, какие функции требуются.
Изменения в коде одобрены.
68-86
: Улучшенная обработка переменных и разрешение символических ссылок!Изменения упрощают процесс разрешения символических ссылок и установки домашнего каталога приложения.
Изменения в коде одобрены.
89-89
: Улучшенное управление памятью!Расширение параметров JVM по умолчанию для включения максимального и минимального размера кучи улучшает управление памятью.
Изменения в коде одобрены.
200-243
: Улучшенная обработка аргументов!Изменения улучшают надежность и корректность обработки аргументов.
Изменения в коде одобрены.
vars/pipeline1C.groovy (2)
Line range hint
100-111
: Отличное дополнение для управления конфигурацией!Новый этап 'Загрузка конфигурации' с механизмом тайм-аута улучшает надежность и управляемость пайплайна.
Изменения в коде одобрены.
123-123
: Улучшенная функциональность загрузки расширений!Изменение вызова функции
loadExtensions
для принятия дополнительного аргумента'initInfoBase'
расширяет возможности метода.Изменения в коде одобрены.
…/vrunner.json В случае если база инициализирована из шаблона - настройки добавляются. Если нет - не добавляются. Это работает только на этапе, где настройки не обязательны.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files ignored due to path filters (1)
resources/globalConfiguration.json
is excluded by!**/*.json
Files selected for processing (4)
- src/ru/pulsar/jenkins/library/configuration/InitInfoBaseOptions.groovy (2 hunks)
- src/ru/pulsar/jenkins/library/steps/InitFromFiles.groovy (2 hunks)
- src/ru/pulsar/jenkins/library/steps/InitFromStorage.groovy (2 hunks)
- src/ru/pulsar/jenkins/library/steps/InitInfoBase.groovy (4 hunks)
Files skipped from review as they are similar to previous changes (2)
- src/ru/pulsar/jenkins/library/steps/InitFromStorage.groovy
- src/ru/pulsar/jenkins/library/steps/InitInfoBase.groovy
Additional comments not posted (5)
src/ru/pulsar/jenkins/library/steps/InitFromFiles.groovy (2)
45-45
: Проверьте изменение сinit-dev
наupdate-dev
.Убедитесь, что изменение команды с
init-dev
наupdate-dev
было намеренным и не влияет на процесс инициализации.
50-52
: LGTM!Добавление условных настроек является хорошим улучшением. Убедитесь, что путь
vrunnerSettings
всегда действителен.src/ru/pulsar/jenkins/library/configuration/InitInfoBaseOptions.groovy (3)
28-32
: LGTM!Добавление свойства
vrunnerSettings
улучшает конфигурационные возможности класса.
33-39
: LGTM!Добавление свойства
templateDBPath
предоставляет дополнительную гибкость для пользователей.
84-86
: LGTM!Метод
templateDBLoaded()
является хорошим дополнением для проверки наличия пути к базе данных.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (1)
- src/ru/pulsar/jenkins/library/steps/LoadExtensions.groovy (1 hunks)
Files skipped from review as they are similar to previous changes (1)
- src/ru/pulsar/jenkins/library/steps/LoadExtensions.groovy
src/ru/pulsar/jenkins/library/configuration/InitInfoBaseOptions.groovy
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files ignored due to path filters (1)
resources/schema.json
is excluded by!**/*.json
Files selected for processing (1)
- src/ru/pulsar/jenkins/library/configuration/InitInfoBaseOptions.groovy (2 hunks)
Files skipped from review as they are similar to previous changes (1)
- src/ru/pulsar/jenkins/library/configuration/InitInfoBaseOptions.groovy
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (2)
- .vscode/settings.json (1 hunks)
- src/ru/pulsar/jenkins/library/steps/LoadExtensions.groovy (1 hunks)
Files skipped from review due to trivial changes (1)
- .vscode/settings.json
Files skipped from review as they are similar to previous changes (1)
- src/ru/pulsar/jenkins/library/steps/LoadExtensions.groovy
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 3
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (6)
- src/ru/pulsar/jenkins/library/configuration/InitInfoBaseOptions.groovy (2 hunks)
- src/ru/pulsar/jenkins/library/configuration/JobConfiguration.groovy (1 hunks)
- src/ru/pulsar/jenkins/library/steps/InitFromFiles.groovy (2 hunks)
- src/ru/pulsar/jenkins/library/steps/InitFromStorage.groovy (2 hunks)
- src/ru/pulsar/jenkins/library/steps/InitInfoBase.groovy (3 hunks)
- src/ru/pulsar/jenkins/library/steps/LoadExtensions.groovy (1 hunks)
Files skipped from review as they are similar to previous changes (2)
- src/ru/pulsar/jenkins/library/steps/InitFromStorage.groovy
- src/ru/pulsar/jenkins/library/steps/LoadExtensions.groovy
Additional comments not posted (9)
src/ru/pulsar/jenkins/library/steps/InitFromFiles.groovy (3)
34-39
: Обработка формата источника EDT.Код для обработки формата источника EDT выглядит корректно, но убедитесь, что переменные
EdtToDesignerFormatTransformation.CONFIGURATION_DIR
иEdtToDesignerFormatTransformation.CONFIGURATION_ZIP_STASH
определены и доступны.Проверьте, что переменные
EdtToDesignerFormatTransformation.CONFIGURATION_DIR
иEdtToDesignerFormatTransformation.CONFIGURATION_ZIP_STASH
определены и доступны.
44-45
: Изменение команды для vrunnerPath.Изменение команды с
init-dev
наupdate-dev
может повлиять на логику инициализации. Убедитесь, что это изменение соответствует требованиям проекта.Проверьте, что изменение команды с
init-dev
наupdate-dev
соответствует требованиям проекта.
47-52
: Добавление настроек vrunnerSettings.Добавление настроек
vrunnerSettings
в команду выглядит полезным для гибкости конфигурации. Убедитесь, что файл настроек существует перед выполнением команды.Изменения одобрены.
src/ru/pulsar/jenkins/library/steps/InitInfoBase.groovy (4)
33-33
: Получение пути к vrunner.Получение пути к
vrunnerPath
выглядит корректно. Убедитесь, что методVRunner.getVRunnerPath()
возвращает правильный путь.Изменения одобрены.
35-41
: Добавление настроек vrunnerSettings.Добавление настроек
vrunnerSettings
в команду выглядит полезным для гибкости конфигурации. Убедитесь, что файл настроек существует перед выполнением команды.Изменения одобрены.
51-54
: Добавление обработки ошибок для команды миграции.Добавление обработки ошибок для команды миграции повышает надежность выполнения. Убедитесь, что обработка ошибок охватывает все возможные исключения.
Изменения одобрены.
64-74
: Добавление обработки ошибок для дополнительных шагов инициализации.Добавление обработки ошибок для дополнительных шагов инициализации повышает надежность выполнения. Убедитесь, что обработка ошибок охватывает все возможные исключения.
Изменения одобрены.
src/ru/pulsar/jenkins/library/configuration/InitInfoBaseOptions.groovy (2)
28-33
: Добавление свойства vrunnerSettings.Свойство
vrunnerSettings
добавлено корректно с описанием и значением по умолчанию.Изменения одобрены.
34-39
: Добавление свойства templateDBPath.Свойство
templateDBPath
добавлено корректно с описанием.Изменения одобрены.
Реализовал загрузку базы из dt и 1cd.
Можно указать путь локальный или ссылку.
При загрузке создается база, в нее грузится dt. После этого все манипуляции происходят уже с эталонной базой.
!Breaking changes! Таймаут CreateInfobase - теперь работает на создание базы. Для стейджа загрузки исходников создан новый "loadSources"